1. Field
Embodiments of the invention relate to the field of networking; and more specifically, to distributing control processes of a network element.
2. Background
A network element (e.g., router, switch, bridge, combination router/switch/bridge, etc.) is a piece of networking equipment, including hardware and software that communicatively interconnects other equipment on the network (e.g., other network elements, computer end stations, etc.). Typical network elements include one or more controller cards (e.g., XCRP (Cross-Connect Route Processor) cards), one or more line cards, and one or more feature cards (e.g., ASE (Advanced Service Engine) cards, each interconnected via a high speed mesh. A typical network element is logically separated into a data plane (sometimes also referred to as a forwarding plane) and a control plane. In the case that the network element is a router, the control plane typically determines how data (e.g., packets) is routed (e.g., the next hop for the data and the outgoing port for that data), and the data plane forwards that data. In addition, the control plane establishes sessions and maintains those sessions (e.g., by processing control messages received by the data plane). For example, in the case where the network element is providing support for Mobile IP, the control plane establishes Mobile IP sessions and refreshes those established Mobile IP sessions (e.g., by processing binding update messages).
The control plane includes one or more processes and/or daemons communicating with each other, typically through Inter-Process Communication (IPC). IPC supports point-to-point bidirectional communication between processes, and each endpoint for IPC is uniquely identified and monitored by a master process (e.g., a process manager). In addition, the master process (e.g., the process manager) monitors all of the other processes in the control plane and data plane. In addition, the control plane includes one or more data structures related to the services it provides. For example, if the network element is a router or has routing capability, the control plane typically includes a Routing Information Base (RIB). In addition, the control plane typically includes security and/or authentication processes (e.g., Authentication, Authorization, and Accounting (AAA)).
Typical network element may provide for 1:1 redundancy for control plane processes. For example, many network elements support dual controller cards, where one controller card acts as the active controller and the other acts as a hot standby. The active controller synchronizes with the standby controller. The standby controller assumes the role of active controller if the active controller fails. Typically, when acting as a standby controller, the standby controller does not actively perform signaling or process control messages.